"""
pytorch安装：
pip3 install torch torchvision

torch 使用细节与numpy几乎一模一样的
"""
import torch

# 以下是关于torch的使用细节
# a = torch.tensor([[1, 2], [3, 4]])
# print(a.shape)
# print(a.reshape(1, 4))
# print(a[:, 0])

# 如何自动求导
# 步骤1：对需要求导的变量(变量类型必须是float 浮点数)设置requires_grad=True 属性
# 步骤2: 对最终结果进行求和或者求平均值
# 步骤3： 针对步骤2的结果进行backward() 开启求导过程
# 步骤4：通过"变量.grad"可以直接获取x的导数
x = torch.tensor([1., 2., 3., 4.], requires_grad=True)
y = x ** 2

y = torch.sum(y)  # 求4个值的和
y.backward()

print(x.grad) # 打印x的导数
